package com.ruoyi.puyu.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 学员对象 puyu_student
 * 
 * @author wusongwen
 * @date 2024-05-01
 */
public class PuyuStudent extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 学员ID */
    private Long studentId;

    /** 部门id */
    @Excel(name = "部门id")
    private Long deptId;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 家长用户ID */
    @Excel(name = "家长用户ID")
    private Long parentUserId;

    /** 学号 */
    @Excel(name = "学号")
    private String studentCode;

    /** 学员姓名 */
    @Excel(name = "学员姓名")
    private String studentName;

    /** 手机号 */
    @Excel(name = "手机号")
    private String phone;

    /** 生日 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生日", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthday;

    /** 缴费 */
    @Excel(name = "缴费")
    private BigDecimal money;

    /** 节数 */
    @Excel(name = "节数")
    private Integer classNum;

    /** 状态 */
    @Excel(name = "状态")
    private Integer studentStatus;

    /** 训练类型 */
    @Excel(name = "训练类型")
    private Integer trainingType;

    /** 报名日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "报名日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date joinTime;

    /** 删除标志 */
    private String delFlag;

    /** 剩余节数 */
    @Excel(name = "剩余节数")
    private Integer classBalance;

    /** 期限 */
    @Excel(name = "期限", width = 30, dateFormat = "yyyy-MM-dd")
    private Date expiredTime;

    /** 过期类型 */
    @Excel(name = "期限类型", readConverterExp = "1=三个月,2=半年,3=一年,4=两年")
    private Integer expiredType;

    /** 使用节数 */
    @Excel(name = "使用节数")
    private Integer classUsed;

    public void setStudentId(Long studentId) 
    {
        this.studentId = studentId;
    }

    public Long getStudentId() 
    {
        return studentId;
    }
    public void setDeptId(Long deptId) 
    {
        this.deptId = deptId;
    }

    public Long getDeptId() 
    {
        return deptId;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setParentUserId(Long parentUserId) 
    {
        this.parentUserId = parentUserId;
    }

    public Long getParentUserId() 
    {
        return parentUserId;
    }
    public void setStudentCode(String studentCode) 
    {
        this.studentCode = studentCode;
    }

    public String getStudentCode() 
    {
        return studentCode;
    }
    public void setStudentName(String studentName) 
    {
        this.studentName = studentName;
    }

    public String getStudentName() 
    {
        return studentName;
    }
    public void setPhone(String phone) 
    {
        this.phone = phone;
    }

    public String getPhone() 
    {
        return phone;
    }
    public void setBirthday(Date birthday) 
    {
        this.birthday = birthday;
    }

    public Date getBirthday() 
    {
        return birthday;
    }
    public void setMoney(BigDecimal money) 
    {
        this.money = money;
    }

    public BigDecimal getMoney() 
    {
        return money;
    }
    public void setClassNum(Integer classNum)
    {
        this.classNum = classNum;
    }

    public Integer getClassNum()
    {
        return classNum;
    }
    public void setStudentStatus(Integer studentStatus) 
    {
        this.studentStatus = studentStatus;
    }

    public Integer getStudentStatus() 
    {
        return studentStatus;
    }
    public void setTrainingType(Integer trainingType) 
    {
        this.trainingType = trainingType;
    }

    public Integer getTrainingType() 
    {
        return trainingType;
    }
    public void setJoinTime(Date joinTime) 
    {
        this.joinTime = joinTime;
    }

    public Date getJoinTime() 
    {
        return joinTime;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    public Integer getClassBalance() {
        return classBalance;
    }

    public void setClassBalance(Integer classBalance) {
        this.classBalance = classBalance;
    }

    public Date getExpiredTime() {
        return expiredTime;
    }

    public void setExpiredTime(Date expiredTime) {
        this.expiredTime = expiredTime;
    }

    public Integer getExpiredType() {
        return expiredType;
    }

    public void setExpiredType(Integer expiredType) {
        this.expiredType = expiredType;
    }

    public Integer getClassUsed() {
        return classUsed;
    }

    public void setClassUsed(Integer classUsed) {
        this.classUsed = classUsed;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("studentId", getStudentId())
            .append("deptId", getDeptId())
            .append("userId", getUserId())
            .append("parentUserId", getParentUserId())
            .append("studentCode", getStudentCode())
            .append("studentName", getStudentName())
            .append("phone", getPhone())
            .append("birthday", getBirthday())
            .append("money", getMoney())
            .append("classNum", getClassNum())
            .append("studentStatus", getStudentStatus())
            .append("trainingType", getTrainingType())
            .append("joinTime", getJoinTime())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("classBalance", getClassBalance())
            .append("expiredTime", getExpiredTime())
            .append("expiredType", getExpiredType())
            .append("classUsed", getClassUsed())
            .toString();
    }
}
